package com.toubutu.audio.service;

import com.toubutu.audio.admin.dto.AdminPageQueryComment;
import com.toubutu.audio.admin.vo.AdminCommentVo;
import com.toubutu.audio.dto.CommentDto;
import com.toubutu.audio.dto.PageQueryCollectionDto;
import com.toubutu.audio.dto.PageQueryCommentDto;
import com.toubutu.audio.dto.UserCommentDto;
import com.toubutu.audio.entity.Collection;
import com.toubutu.audio.entity.Comment;
import com.baomidou.mybatisplus.extension.service.IService;
import com.toubutu.audio.vo.CommentItemVo;
import com.toubutu.audio.vo.CommentVo;
import com.toubutu.common.PageUtils;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 戒躁
 * @since 2024-01-08
 */
public interface CommentService extends IService<Comment> {

    PageUtils<AdminCommentVo> adminPageQueryComment(AdminPageQueryComment adminPageQueryComment);
    PageUtils<CommentVo> getCommentList(PageQueryCommentDto dto);
    PageUtils<CommentVo> getReplyCommentList(PageQueryCommentDto dto);

    void publishComment(CommentDto commentDto);

    PageUtils<CommentItemVo> getUserCommentList(UserCommentDto dto);

    void deleteCommentById(Integer commentId);
}
